$(function(){
	var $tabList=$("#tab_list"),$pagebar=$("#pagebar ul"),$pageInfo=$("#page_info"),
		pageNo=1,pageSize=10,count=0; flag = false;//初始值
		number = "";
		byName ="";
		dictType = 0;
		startTime= null;
		endTime = null;
	/**---------------封装分页方法,count:总条目数,pageNo:当前页---------------*/
	function pageit(count){
		$pagebar.empty();
//		$('input[type=number]').val(0);//初始化
		//首页和上一页
		if(pageNo==1){
			$pagebar.append("<li id='start_page' class='disabled'><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page'  class='disabled'><a href='javascript:void(0);'>上一页</a></li>");
		}else{
			$pagebar.append("<li id='start_page' pn=1><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page' pn="+(pageNo-1)+"><a href='javascript:void(0);'>上一页</a></li>");
		}
		var tmp=parseInt(count/10);
		var page_size=count%10==0?(tmp):(tmp+1);//总页数
		//中间数字页
		if(page_size<=5){
			//如果小于5页,则全部显示
			for(var i = 0; i <page_size; i++) {
				if(i==pageNo-1){
					$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}else{
					$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}
			}
		}else{
			//如果总页数大于5页,显示当前页和前后各两页以及两个...符号
			if(pageNo<3){
				for(var i = 0; i <5; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
			}else if(pageNo>page_size-2){
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
				for(var i = page_size-5; i <page_size; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}else{
				for (var i = pageNo-3; i <pageNo+2; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(pageNo)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}
		}
		//下一页和末页
		if(page_size==0||pageNo==page_size){
			$pagebar.append("<li id='next_page' class='disabled'><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' class='disabled'><a href='javascript:void(0);'>末页</a></li>");
			$pagebar.append("<li class='disabled'> &nbsp;转到&nbsp;<input  type='number' min='0' max='"+page_size+"' style='width:70px;height:33px;clear:both;border:1px solid #eee;'>&nbsp;页</li>");
		}else{
			$pagebar.append("<li id='next_page' pn="+(pageNo+1)+"><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' pn="+page_size+"><a href='javascript:void(0);'>末页</a></li>");
			$pagebar.append("<li class='disabled'>&nbsp;转到&nbsp;<input  type='number' min='0' max='"+page_size+"' style='width:70px;height:33px;clear:both;border:1px solid #eee;'>&nbsp;页</li>");
		}
		
		//绑定事件
		$pagebar.find("li").not(".disabled").on("click",function(){
				pageNo=parseInt($(this).attr("pn"));//更新当前页码
				reloadList();
				$('input[type=number]').val();
		});
		//分页信息条
		$pageInfo.find("span").each(function(i,k){
			if(i==0){
				if(page_size==0){
					$(k).html(0);
				}else{
					$(k).html((pageNo-1)*10+1);
				}
			}else if(i==1){
				$(k).html(count>pageNo*10?pageNo*10:count);
			}else{
				$(k).html(count);
			}
		});
	//页面跳转
//	$('input[type=number]').blur(function () {  
//		goto($(this).val());
//	});  
	$('input[type=number]').focus(function () {  
		$(document).keypress(function(event){
			if(event.keyCode == 13) {
				gotoPage($('input[type=number]').val());
			}
		});
	});  
	
	function gotoPage(pagenumber){
		if(pagenumber>=0){
		    if(pagenumber>=page_size){
				pageNo=parseInt(page_size);// 更新当前页码为总页数
		    }else{
				pageNo=parseInt(pagenumber);// 更新当前页码
		    }
		    number = pageNo;
			reloadList();
	    }else{
	    	alert("请输入合法的页码");
	    }
	}
	return number;
}
	
/**------------------加载列表---------------------*/
	var noRecord= "<font style='color:red;font-weight:bold;font-size:13px;'>无</font>";
	var type= {"1":"英&nbsp;<b><i class='icon icon-exchange'></b></i>&nbsp;中","2":"中&nbsp;<b><i class='icon icon-exchange'></b></i>&nbsp;英"};
	var params={"pageNo":1,"pageSize":pageSize,"flag":flag,"byName":byName,"dictType":dictType,"startTime":startTime,"endTine":"endTime"};
	function reloadList(){
		params.pageNo=pageNo;
		params.pageSize=pageSize;
		params.flag  = flag;
		$.get(serverURL+"view/dict/getList",params,function(data){
			try {
				if(data.code==0){
					data=data.data;
					$tabList.find("tbody").empty();
					count=data.pagination.totalCount;
					if(count>0){
						var html="";
						$.each(data.list,function(i,k){
							html+="<tr>" +
							"<td id='pkc'><input type='checkbox' id='"+k.dictId+"' class='checkbox' col='"+i+"' ></td>" +
							"<td>"+((pageNo-1)*10+i+1)+"</td>" +
							"<td>"+(k.byName?k.byName:noRecord)+"</td>"+ 
							"<td>"+type[k.dictType]+"</td>"+ 
							"<td>"+(k.toName?k.toName.substring(0,10)+"……":noRecord)+"</td>"+ 
							"<td>"+(k.translate?k.translate.substring(0,10)+"……":noRecord)+"</td>"+ 
							"</tr>";
						});
						$tabList.find("tbody").append(html);
					}else{
						$tabList.find("tbody").append("<tr><td colspan="+$("thead th").length+">无数据</td></tr>");
					}
					var num =  pageit(count);//重绘工具栏
					$('input[type=number]').val(num);
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试");
			}
		});
	}
	reloadList();
	//全选与取消全选
	$("#pkall").change(function(){
		if($(this).prop("checked")){
			$tabList.find("#pkc :checkbox").prop("checked",true);
		}else{
			$tabList.find("#pkc :checkbox").prop("checked",false);
		}
	});
	//获取选中的行
	function getSelectedCols(){
		return $tabList.find("#pkc :checkbox").filter(":checked");
	}

	/**---------------查询-----------------*/
	$("#btn_search").click(function(){
		startTime = $("[name=startTime]").val();
		endTime = $("[name=endTime]").val();
		if(endTime <=startTime ){
			alert("结束时间不能早于开始时间");
			return false;
		}
		params.startTime=startTime;
		params.endTime= endTime;
		params.byName=$("#search_byName").val();
		if($("#search_dictType").val() != 0 ){
			params.dictType=$("#search_dictType").val();
		}
		pageNo=1;
		reloadList();
		return false;
	});
	/**---------------重置-----------------*/
	$("#btn_reset").click(function(){
		$("#form_search").get(0).reset();
		pageNo=1;
		params.byName= "";
		params.dictType=0;
		flag  = false;
		reloadList();
		return false; 
	});
    
	/*****刷新****/
	$("#btn_refresh").click(function(){
		pageNo=1;
		params.byName= "";
		params.dictType=0;
		flag  = false;
		reloadList();
	});
    /** ************增加词条*************** */
    $("#btn_add").click(function(){
    	$("#modal_add").modal("show");
    	$("#same_dict_div").hide();
    });
	
	/**我的词条***/
	$("#btn_myFile").click(function(){
		flag = true;
		reloadList();
	})
	
	function checkAddForm(){
		if($("[name=byName]").val() == ""){
			warnInput($("[name=byName]"));
			return false;
		}
//		if($("[name=toName]").val() == ""){
//			warnInput($("[name=toName]"));
//			return false;
//		}
		return true;
	}
	/**
	 * 添加词条
	 */
	$("#btn_confirm_add").click(function() {
		if (checkAddForm()) {
			byName = $.trim($("[name=byName]").val());
			toName =$.trim($("[name=toName]").val());
			translate = $.trim($("textarea[name='translate']").val());
			translate=translate.replace(/\n/g,'<br>');
			merge =$(' input[name="merge"]:checked ').val();
			if(merge == 0){//合并
				$.each($("#same_dict_table").find("tbody").find("tr"),function(i,k){
					toName += "<br>"+$(".n"+i).val().replace(/\n/g,'<br>'); ;
					translate +="<br>"+$(".t"+i).val().replace(/\n/g,'<br>'); ;
				});
			}
	       if(toName.indexOf('<br>') == 0){
	        	 toName= toName.substring(4,toName.length);
	        }
	        if(translate.indexOf('<br>') == 0){
	        	 translate= translate.substring(4,translate.length);
	        }
			$.post(serverURL + "view/dict/addDict", {"toName":toName,"byName":byName,"translate":translate,"merge":merge}, function(data) {
				if (data.code == 0) {
						alert("添加成功");
						$("#modal_add").modal("hide");
						$("#form_add").get(0).reset();
						pageNo=1;
						reloadList();
					}else if (data.code == 110) {
						alert(data.msg);
					} else if (data.code != -1) {
						alert("添加失败,请稍后重试");
					}
				});
				}
		});		
	
	/**
	 * 词条排重
	 */
	$('input[name=byName]').blur(function () {  
		byName =$.trim($("[name=byName]").val());
		if(byName != ""){
			$("#same_dict_table").find("tbody").empty();
			$("#same_dict_table").find("tfoot").empty();
			$.get(serverURL + "view/dict/getDistinct", {"byName":byName}, function(data) {
				if (data.code == 110) {
					$("#same_dict_div").show();
					var dictHtml="";
					$.each(data.data,function(i,k){
						dictHtml += "<tr><td><textarea  cols='25' rows='3'   class='n"+i+"'>"+k.toName.replace(/<br>/g,'\n')+"</textarea></td><td><textarea  cols='25' rows='3' class= 't"+i+"'>"+k.translate.replace(/<br>/g,'\n')+"</textarea></td></tr>";
					});
					$("#same_dict_table").append("<tfoot><tr><td colspan=2><label><input   type='radio'  name ='merge' checked value='0'>&nbsp;合并</label>&nbsp;&nbsp;&nbsp;&nbsp;<label><input   type='radio' name='merge' value='1'>&nbsp;替换</label></td></tr></tfoot>").find("tbody").append(dictHtml);
					$(' input[name="merge"] ').click(function(){
						if($(this).val() == 1){
							$("#same_dict_table").find("tbody").find("textarea").attr("readonly",true);
						}else{
							$("#same_dict_table").find("tbody").find("textarea").attr("readonly",false);
						}
					});
				} else{
					$("#same_dict_div").hide();
				}
			});
		}
	});  	
	
    /**修改词条* */
    $("#btn_edit").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条修改记录");
			return;
		}
		var id = $curCol[0].id;
		$("#modal_edit").modal("show");
		$.get(serverURL + "view/dict/getInfo", {"dictId" : id}, function(data){
			  try{
				  if(data.code == 0){
					  $("#form_edit").find($("[name=edit_byName]")).val(data.data.byName);
					  $("#form_edit").find($("[name=dictId]")).val(data.data.dictId);
					  $("#form_edit").find($("[name=edit_toName]")).val(data.data.toName.replace(/<br>/g,'\n'));
					  $("textarea[name='edit_translate']").html(data.data.translate.replace(/<br>/g,'\n'));
				  }
			  }catch(e){
				  alert("数据加载出错，请稍后重试");
			  }
		})
    });
    
	function checkEditForm(){
		if($("[name=edit_byName]").val() == ""){
			warnInput($("[name=edit_byName]"));
			return false;
		}
//		if($("[name=edit_toName]").val() == ""){
//			warnInput($("[name=edit_toName]"));
//			return false;
//		}
		return true;
	}
    /**
     * 修改词条按钮
     */
	$("#btn_confirm_edit").click(function() {
		if (checkEditForm()) {
			toName =$.trim($("#form_edit").find($("[name=edit_toName]")).val());
			byName = $.trim($("#form_edit").find($("[name=edit_byName]")).val());
			translate = $.trim($("textarea[name='edit_translate']").val());
			dictId = $("#form_edit").find($("[name=dictId]")).val();
			translate=translate.replace(/\n/g,'<br>');
			
			$.post(serverURL + "view/dict/editDict", {"dictId":dictId,"toName":toName,"byName":byName,"translate":translate}, function(data) {
					if (data.code == 0) {
						alert("修改成功");
						$("#modal_edit").modal("hide");
						$("#form_edit").get(0).reset();
	//					pageNo=1;
						reloadList();
					}else if (data.code == 110) {
						alert(data.msg);
					} else if (data.code != -1) {
						alert("添加失败,请稍后重试");
					}
				});
				}
		});		
	
	/**************删除************/
	$("#btn_del").click(function(){
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length == 0) {
			alert("请至少选择一条记录删除");
			return;
		}
		var ids = "";
		$.each($curCol, function(i, k) {
			ids += $curCol[i].id + ",";
		})
		ids = ids.substring(0, ids.length - 1);
		$.get(serverURL + "view/dict/delDict", {"dictIds" : ids}, function(data) {
			if (data.code == 0) {
				alert("删除成功");
				pageNo=1;
				reloadList();
			} else if (data.code != -1) {
				alert("删除失败,请稍后重试");
			}
		});
	});
});